জাভাস্ক্রিপ্ট স্টাইল গাইড হলো কোড লেখার নিয়মাবলী ও মানদণ্ডের একটি সংগ্রহ, যা ডেভেলপারদের জন্য কোডকে সুসংগঠিত, পড়তে সহজ এবং রক্ষণাবেক্ষণযোগ্য করে তোলে। একটি সুনির্দিষ্ট স্টাইল গাইড অনুসরণ করলে দলের মধ্যে কোডের সামঞ্জস্যতা বজায় থাকে এবং কোডের মান উন্নত হয়।
জাভাস্ক্রিপ্টে ভেরিয়েবল নামকরণের জন্য ক্যামেল কেস সবচেয়ে বেশি ব্যবহৃত হয়। প্রথম শব্দটি ছোট হাতের অক্ষর দিয়ে শুরু হয় এবং পরের প্রতিটি শব্দের প্রথম অক্ষর বড় হাতের হয়।
let userName = "Alice";
const totalAmount = 1500;
ভেরিয়েবল এবং ফাংশনের নাম এমন হওয়া উচিত যা তাদের উদ্দেশ্য স্পষ্টভাবে প্রকাশ করে।
// খারাপ উদাহরণ
let a = 10;
// ভালো উদাহরণ
let userAge = 10;
যখন কোনো ভেরিয়েবলকে কনস্ট্যান্ট হিসেবে ডিফাইন করা হয়, তখন সাধারণত আপারকেস ব্যবহার করা হয়।
const MAX_USERS = 100;
const API_URL = "https://api.example.com";
কোডের গঠন বোঝার জন্য সঠিক ইন্ডেন্টেশন অত্যন্ত জরুরি। সাধারণত ২ বা ৪ স্পেস ইন্ডেন্টেশন ব্যবহার করা হয়।
function greet(name) {
if (name) {
console.log(`Hello, ${name}!`);
} else {
console.log("Hello, World!");
}
}
অপারেটরগুলোর আগে এবং পরে স্পেস রাখা উচিত যাতে কোড পড়তে সহজ হয়।
let sum = a + b;
if (sum > 10) {
console.log("Sum is greater than 10");
}
ফাংশনের মধ্যে এক্সিকিউশন ব্লক {}
ব্যবহার করা উচিত, এমনকি যদি ব্লকে মাত্র একটি স্টেটমেন্ট থাকে।
// খারাপ উদাহরণ
if (isValid)
console.log("Valid");
// ভালো উদাহরণ
if (isValid) {
console.log("Valid");
}
অবজেক্ট লিটারেল যদি একাধিক লাইনে থাকে, তাহলে প্রতিটি প্রপার্টির আগে ব্র্যাকেট ব্যবহার করা উচিত।
const user = {
name: "Alice",
age: 25,
isAdmin: false
};
জাভাস্ক্রিপ্টে সেমিকোলন ব্যবহার করা উচিৎ, যদিও এটি স্বয়ংক্রিয়ভাবে যোগ করা হয়। সেমিকোলন ব্যবহার করলে কোডের নির্ভরযোগ্যতা বৃদ্ধি পায় এবং অপ্রত্যাশিত বিহেভিয়র এড়ানো যায়।
let a = 5;
let b = 10;
console.log(a + b);
কোনো নির্দিষ্ট নিয়ম নেই, তবে ধারাবাহিকতা বজায় রাখা জরুরি। সাধারণত, সিঙ্গেল কোট (' '
) ব্যবহার করা হয়।
let message = 'Hello, World!';
let greeting = "Good morning!";
স্ট্রিং ইন্টারপোলেশন বা মাল্টি-লাইন স্ট্রিং এর জন্য টেমপ্লেট লিটারেল (`
) ব্যবহার করা হয়।
let name = "Alice";
let greeting = `Hello, ${name}! Welcome to our website.`;
ফাংশন ডিক্লেয়ারেশন ব্যবহারে কোডের পড়ার সুবিধা হয় এবং হোইস্টিং সুবিধা পাওয়া যায়।
// ফাংশন ডিক্লেয়ারেশন
function add(a, b) {
return a + b;
}
// ফাংশন এক্সপ্রেশন
const subtract = function(a, b) {
return a - b;
};
ছোট এবং এক্সপ্রেশন রিটার্নিং ফাংশনের জন্য অ্যারো ফাংশন ব্যবহার করা যেতে পারে।
const multiply = (a, b) => a * b;
অবজেক্টের প্রপার্টি গুলো এক লাইনে না রেখে মাল্টি-লাইনে লেখা উচিত।
const user = {
name: "Alice",
age: 25,
isAdmin: false
};
অ্যারেতে কমা পরে স্পেস রাখা উচিত এবং একাধিক উপাদান থাকলে প্রতিটি উপাদান নতুন লাইনে থাকা উচিৎ।
const numbers = [
1,
2,
3,
4,
5
];
কোডের উদ্দেশ্য বা জটিল লজিক বোঝাতে স্পষ্ট এবং সংক্ষিপ্ত কমেন্ট ব্যবহার করা উচিত।
// ইউজারের বয়স চেক করা হচ্ছে
if (user.age >= 18) {
console.log("Adult");
}
বড় ফাংশন বা ক্লাসের জন্য ডকুমেন্টেশন কমেন্ট ব্যবহার করা উচিত।
/**
* দুইটি সংখ্যার যোগফল রিটার্ন করে
* @param {number} a - প্রথম সংখ্যা
* @param {number} b - দ্বিতীয় সংখ্যা
* @returns {number} - যোগফল
*/
function add(a, b) {
return a + b;
}
লুপের মধ্যে ভেরিয়েবল ডিক্লেয়ার করার সময় let
ব্যবহার করা উচিত, যাতে ব্লক স্কোপ বজায় থাকে।
for (let i = 0; i < 5; i++) {
console.log(i);
}
কন্ডিশনাল স্টেটমেন্টে ===
এবং !==
ব্যবহার করা উচিত, ==
এবং !=
এর পরিবর্তে, যাতে টাইপ কনভার্শন সমস্যা এড়ানো যায়।
if (user.age === 25) {
console.log("User is 25 years old.");
}
কোডের পুনঃব্যবহারযোগ্য অংশগুলো মডিউল হিসেবে এক্সপোর্ট এবং আমদানি করা উচিত।
// math.js
export const add = (a, b) => a + b;
export const subtract = (a, b) => a - b;
// main.js
import { add, subtract } from './math.js';
console.log(add(5, 3)); // আউটপুট: 8
console.log(subtract(5, 3)); // আউটপুট: 2
প্রাইভেট প্রপার্টি ব্যবহার করে ক্লাসের ভিতরে শুধুমাত্র সেই প্রপার্টি অ্যাক্সেসযোগ্য হয়।
class Person {
#name; // প্রাইভেট প্রপার্টি
constructor(name, age) {
this.#name = name;
this.age = age;
}
greet() {
console.log(`Hello, my name is ${this.#name} and I am ${this.age} years old.`);
}
}
const person1 = new Person("Alice", 25);
person1.greet(); // আউটপুট: Hello, my name is Alice and I am 25 years old.
console.log(person1.#name); // Error: Private field '#name' must be declared in an enclosing class
জাভাস্ক্রিপ্ট স্টাইল গাইড অনুসরণ করলে কোডের গঠন সুসংগঠিত হয়, পড়তে সহজ হয় এবং রক্ষণাবেক্ষণ সহজ হয়ে ওঠে। ভেরিয়েবল নামকরণ, ইন্ডেন্টেশন, ব্র্যাকেট ব্যবহার, সেমিকোলন, কোট, ফাংশন ডিক্লেয়ারেশন, অবজেক্ট এবং অ্যারে ফরম্যাটিং, কমেন্টিং, লুপ এবং কন্ডিশন, মডিউল ব্যবহার ইত্যাদির মাধ্যমে কোডের সামঞ্জস্যতা এবং মান উন্নত করা যায়। একটি নির্দিষ্ট স্টাইল গাইড অনুসরণ করলে দলগতভাবে কাজ করার সময় কোডের সামঞ্জস্যতা বজায় থাকে এবং কোড রিভিউ ও ডিবাগিং প্রক্রিয়াগুলো আরও কার্যকর হয়।
স্টাইল গাইডের নিয়মাবলী মেনে চললে নতুন ডেভেলপারদের জন্য কোড বুঝতে এবং অ্যাডপ্ট হতে সহজ হয়, পাশাপাশি দীর্ঘমেয়াদী প্রকল্পগুলোর রক্ষণাবেক্ষণকে সহজ করে। এটি কোডের পাঠযোগ্যতা বৃদ্ধি করে, ত্রুটি কমায় এবং উন্নত মানের সফটওয়্যার তৈরিতে সহায়ক হয়। এছাড়াও, স্টাইল গাইড অনুসরণ করলে কোডের পুনঃব্যবহারযোগ্যতা বাড়ে এবং উন্নয়ন প্রক্রিয়ায় সময় সাশ্রয় হয়।
সুতরাং, জাভাস্ক্রিপ্ট স্টাইল গাইড ব্যবহারের মাধ্যমে কোডের গুণগত মান এবং ডেভেলপমেন্ট প্রক্রিয়ার দক্ষতা বৃদ্ধি পায়, যা উন্নত এবং নির্ভরযোগ্য ওয়েব অ্যাপ্লিকেশন তৈরিতে সহায়ক হয়।
common.read_more